1. Field of the Invention
The present invention relates to a method of defining and updating data structures equipped with data which is preferably continuous, within a shared computer-generated environment.
2. Description of the Related Art
Methods are known to define and update data structures, also known as objects, within shared computer-generated environments. Said objects are traditionally shared between network connected user terminals over a network such as the Internet, with said sharing usually coordinated by one or a plurality of central servers. An example of objects defined and shared within a computer-generated environment is provided by professional and recreational computer-based simulations, wherein users individually control computer-generated vehicles, such as aeroplanes and the like, within a computer-generated battle field defined and updated by one or a plurality of central servers, such that said users can interact with one another by means of their respective vehicles.
In order for the interaction to be immersive, i.e. provide a user with accurate information for every vehicle within the virtual battlefield, all of the attributes of all of the vehicles, such as their respective position, must be updated on all of the participating user terminals as often as possible, such that any particular user can exercise appropriate control of their vehicle relatively to the respective states of other vehicles controlled by other users. To achieve this, said servers traditionally broadcast the situation of every vehicle within the battle field to all of the participants by means of packets of data which define a complete instantiation of said every vehicle in said battle field.
However, it is known that for shared computer-generated environments involving hundreds and potentially thousands of participants, the above prior art is most inappropriate as network bandwidth according to the known art precludes updates of the magnitude required for updating said thousands of participants in a timely fashion, which is of the order of hundreds of milliseconds. Furthermore, said network bandwidth is known to fluctuate importantly in open networks such as the Internet, and thus further constricts the speed at which every user terminal participating in a networked application of the type described above can be updated.
A known method of overcoming the above limitations was proposed by Sandeep Kishan Singhal's in his dissertation “Effective Remote Modeling in Large Scale Distributed Simulation and Visualisation Environments”, dated August 1996, with the disclosure of a position history-based dead reckoning (PHBDR) extrapolation algorithm, by means of the implementation of which only continuous data with which a shared object is equipped, such as positional data, requires updating over the network. The implementation of PHBDR reduces the size of the packets of data broadcasted for updating purposes to all of the participants in a networked computer-generated simulation and thus improves the updating frequency. However, the implementation of PHBDR according to the prior art still does not preclude the updating of a networked simulation, or other type of similarly immersive networked application, from being disrupted in the case of networks afflicted with important bandwidth fluctuation, such as the Internet. In instances where the bandwidth fluctuates beyond the minimum amount required for PHBDR-based updates according to the prior art, a severe degradation of the updating information known to those skilled in the art as ‘packet loss’ occurs such that the shared objects present within a computer-generated environment simply cease being updated and the local rendering of said objects becomes inaccurate until such time as said bandwidth returns to an optimal value, thereby affecting users' decision-making in the course of their interactions.